Introduction

In this document, we will do some preliminary analyses of an IBIS dataset consisting of information about Proband siblings (siblings of children with Autism). This data includes background demographic information (sex of sibling and Proband, parent information, etc.), various behavioral measures (ADOS, ADIR, CSBS, etc.) and as well brain structure information (TCV, TSA, EACSF, etc.) across various time points. Siblings were observed at 6, 12, and 24 months of age. The preliminary analyses will consist of

  1. Summary statistics table for all variables

  2. Data visualizations of group differences by diagnosis of sibling

  3. Measures/visualizations of associations between SCQ and brain measures.

We are also interested in the following, more specified brain measures:

  1. Fractional Anisotropy (FA) of major white matter tracts: CCbody, CCGenu, CCSplenium

  2. Amygdala volumes (Amyg)

  3. Brain Thickness (Axis_Mean_Thickness)

  4. Surface Area in selected regions of interest (ROIs):

ROI08 = Right Medial Frontal Gyrus

ROI41 = Left Cuneus Gyrus

ROI42 = Right Cuneus Gyrus

ROI44 = Right Lingual Gyrus

ROI47 = Left Middle Occipital Gyrus

ROI48 = Right Middle Occipital Gyrus

ROI77 = Left Inferior Temporal Gyrus

  1. Control ROIs:

ROI01 = Left Precentral Gyrus

ROI02 = Right Precentral Gyrus

ROI59 = Left Supramarginal Gyrus

ROI60 = Right Supramarginal Gyrus

Read-in Data

First, we read in the data as a XLSX file using the function read_excel(), which requires the readxl package (see above code). Due to the large number of variables in the dataset, we create another dataset in R with a subset of variables which are of interest for a table of summary statistics. We will also create a form of this dataset in long format.

Summary Statistics Tables

Here we create separate summary statistics tables for

  1. Variables at baseline, by diagnosis
  2. Variables measured across time, by diagnosis and time point

Exploratory Plots

Here we create the following plots to provide a visual overview of the variables of interest (Proband SCQ and brain structure):

  1. Histograms of brain structure measures (EACSF, TCV, TSA, etc.)
  2. Scatterplots of Proband SCQ by brain structure

both sets by visit and diagnosis.

Linear Regression-No Confounding Variables

Here we consider fitting linear regression models to estimate the assoications between various brain measures (EACSF, TCV, TSA, etc.) and Proband SCQ Total Score. We model different associations for each diagnosis group using an interaction term between diagnosis and diagnosis. The models can be summarized as follows:

\(Y=\beta_0+\beta_1*Diagnosis+\beta_2*\mbox{SCQ_Proband_Score}+\beta_3*\mbox{SCQ_Proband_Score}*Diagnosis\)

where \(Y\) is one of the brain measures. First, we do not control for possible confounding variables. For each model, we print the regression parameter estimates/p-values and two diagnostic plots (fitted values by residuals and residuals QQ plot). Due to the longitudinal nature of the data, we run separate analyses for each time pont. [1] “Visit = V06” [1] “Model = EACSF ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = EACSF ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = EACSF ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V06” [1] “Model = TCV ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = TCV ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = TCV ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V06” [1] “Model = TSA ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = TSA ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = TSA ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V06” [1] “Model = CCbody ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = CCbody ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = CCbody ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V06” [1] “Model = CCGenu ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = CCGenu ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = CCGenu ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V06” [1] “Model = CCSplenium ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = CCSplenium ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = CCSplenium ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V06” [1] “Model = ROI01 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = ROI01 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = ROI01 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V06” [1] “Model = ROI02 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = ROI02 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = ROI02 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V06” [1] “Model = ROI08 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = ROI08 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = ROI08 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V06” [1] “Model = ROI41 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = ROI41 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = ROI41 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V06” [1] “Model = ROI42 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = ROI42 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = ROI42 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V06” [1] “Model = ROI44 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = ROI44 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = ROI44 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V06” [1] “Model = ROI47 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = ROI47 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = ROI47 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V06” [1] “Model = ROI48 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = ROI48 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = ROI48 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V06” [1] “Model = ROI59 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = ROI59 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = ROI59 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V06” [1] “Model = ROI60 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = ROI60 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = ROI60 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V06” [1] “Model = ROI77 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V12” [1] “Model = ROI77 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score” [1] “Visit = V24” [1] “Model = ROI77 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score”

Linear Regression-Confounding Variables

Now, we conduct the same linear regression analysis as was done before but also include a set of possible confouding variables for eahch model. The variables are: study site for infant, age of the infant at MRI scan, and sex of infant. We print the same output as in the previous linear regrsssion analysis. [1] “Visit = V06” [1] “Model = EACSF ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = EACSF ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = EACSF ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V06” [1] “Model = TCV ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = TCV ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = TCV ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V06” [1] “Model = TSA ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = TSA ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = TSA ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V06” [1] “Model = CCbody ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = CCbody ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = CCbody ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V06” [1] “Model = CCGenu ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = CCGenu ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = CCGenu ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V06” [1] “Model = CCSplenium ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = CCSplenium ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = CCSplenium ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V06” [1] “Model = ROI01 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = ROI01 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = ROI01 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V06” [1] “Model = ROI02 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = ROI02 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = ROI02 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V06” [1] “Model = ROI08 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = ROI08 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = ROI08 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V06” [1] “Model = ROI41 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = ROI41 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = ROI41 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V06” [1] “Model = ROI42 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = ROI42 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = ROI42 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V06” [1] “Model = ROI44 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = ROI44 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = ROI44 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V06” [1] “Model = ROI47 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = ROI47 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = ROI47 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V06” [1] “Model = ROI48 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = ROI48 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = ROI48 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V06” [1] “Model = ROI59 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = ROI59 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = ROI59 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V06” [1] “Model = ROI60 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = ROI60 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = ROI60 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V06” [1] “Model = ROI77 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V12” [1] “Model = ROI77 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex” [1] “Visit = V24” [1] “Model = ROI77 ~ RiskGroup + SCQ_Pro_Score + RiskGroup * SCQ_Pro_Score + Site + AgeMRI + Cand_Sex”

Effect Sizes

Using the linear regression results we can compute effect sizes for these associations. We consider two effect size definitions.

  1. Percent differences between LS means for brain measure in model of proband SCQ groups (High and Low), adjusted for potential confounders
  2. Cohen’s D for differences in brain measure between proband SCQ groups (High and Low), adjusted for potential confounders

We calculate these at 6 month, 12 month, and 24 month visits, for only HR-ASD infants.

## [1] "Visit =  V06"
## [1] "Model = EACSF ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = EACSF ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = EACSF ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V06"
## [1] "Model = TCV ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = TCV ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = TCV ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V06"
## [1] "Model = TSA ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = TSA ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = TSA ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V06"
## [1] "Model = CCbody ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = CCbody ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = CCbody ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V06"
## [1] "Model = CCGenu ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = CCGenu ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = CCGenu ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V06"
## [1] "Model = CCSplenium ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = CCSplenium ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = CCSplenium ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V06"
## [1] "Model = ROI01 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = ROI01 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = ROI01 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V06"
## [1] "Model = ROI02 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = ROI02 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = ROI02 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V06"
## [1] "Model = ROI08 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = ROI08 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = ROI08 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V06"
## [1] "Model = ROI41 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = ROI41 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = ROI41 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V06"
## [1] "Model = ROI42 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = ROI42 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = ROI42 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V06"
## [1] "Model = ROI44 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = ROI44 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = ROI44 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V06"
## [1] "Model = ROI47 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = ROI47 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = ROI47 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V06"
## [1] "Model = ROI48 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = ROI48 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = ROI48 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V06"
## [1] "Model = ROI59 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = ROI59 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = ROI59 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V06"
## [1] "Model = ROI60 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = ROI60 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = ROI60 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V06"
## [1] "Model = ROI77 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V12"
## [1] "Model = ROI77 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"
## [1] "Visit =  V24"
## [1] "Model = ROI77 ~ Pro_SCQgrp + Cand_Sex + AgeMRI"

Mixed Models

Now we consider a longitudinal regression analysis using mixed effect models. These models are very similar to the linear regression models from before; the difference being that we include “random effects” in these models to tie together observations from the same infant. We include a random intercept and a random slope for time as the sole random effects in all of the models.

We provide the following output: regression parameter estimates, predicted trajectories for brain volume across time for each subject (colored by their diagnosis), and predicted trajectories for brain volume across Proband SCQ score for each subject at each time point (again colored by diagnosis).

Linear time effect

To model time in the fixed effects (along with the aforementioned random intercept, slope) we include the following:

  1. Slope for age
  2. Interaction term between age and diagnosis

and in the supplemental analyses we include the following as well:

  1. Interaction term between age and proband SCQ score
  2. Interaction term between age, diagnosis, and proband SCQ score

with the rest of the fixed effects being those found in the linear regression models with confounding. The use of the second and third interaction terms above allows the slope between proband score and brain measure to differ over time (become stronger/weaker as the infant ages), and for this differs to depend on diagnosis.

We also consider a spline modeling, with separate splines for each diagnostic group. The knots are placed at visit points (6 months, 12 months, 24 months). We only consider spline models for the “macro” scale brain measures (EACSF, TCV, TSA) as we see that compared to the linear mixed models, the splines do not significant new information. This was determined by a asymptotic likelihood ratio test with the linear mixed model as the null model (as the linear and spline models are nested models), using the restricted log likelihoods for each model. As before, the random effects consist of a random intercept and a random slope for age.

Spline time effect

Supplemental Analyses

Count of observed imaging data

First, we create a table of counts of available imaging data by time point, diagnosis. This can be done be counting the number of non-missing values of the AgeMRI variable.

Correlations between secondary brain regions and SCQ score

Correlations between brain and Proband ADI-R Reciprocal Social Interaction Scores

Demographics by proband group

## 
##  Welch Two Sample t-test
## 
## data:  SCQ_Pro_Score by Pro_SCQgrp
## t = -9.958, df = 31.638, p-value = 2.843e-11
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -10.923322  -7.212016
## sample estimates:
##  mean in group low mean in group high 
##           15.80952           24.87719
## 
##  Welch Two Sample t-test
## 
## data:  ADOS_SevScore by Pro_SCQgrp
## t = 1.5238, df = 31.513, p-value = 0.1375
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.2424826  1.6793247
## sample estimates:
##  mean in group low mean in group high 
##           6.350000           5.631579

Correlations between brain measures and behavioral measures

Linear Mixed Effects - Time Varying Associations

Re-fit the mixed effects models in the main analyses with the following additions to the main effects:

  1. Interaction term between age and proband SCQ score
  2. Interaction term between age, diagnosis, and proband SCQ score

The use of these interaction terms above allows the slope between proband score and brain measure to differ over time (become stronger/weaker as the infant ages), and for this differs to depend on diagnosis.

Mediation analysis

We are now going to assess if infant cortical surface area is a mediator between the effect of proband SCQ score on sibling diagnosis, at 12 months of age for the sibling. Given the outcome is binary diagnosis (ASD vs Negative), we use a logistic regression model.

The following models are used to assess the mediation of surface area (TSA) at 12 months:

  1. \(TSA=\beta_0+\beta_1SCQProband+\beta_zZ+\epsilon\)

  2. \(\mbox{logit}(p_{ASD|TSA,SCQ,Z})=\beta_0+\beta_1TSA+\beta_2SCQProband+\beta_zZ\)

where \(p_{ASD|TSA,SCQ,Z}=\Pr(Diagnosis=ASD|TSA,SCQ,Z)\), that is the probability of an ASD diagnosis for the infant given their surface area at 12 months, sibling SCQ total score, and potential confounders, where \(Z\) is shorthand for the set of potential confounders (same as were used above in the mixed model analyses). These models are used to estimate the usual direct, indirect, and total effects based on the models’ regression parameter estimates. To avoid distributional assumptions about the distribution of these estimators, we use the nonparametric bootstrap (sample data with replacement and compute estimates) with 1000 bootstrap resamples to compute 95% CIs using the 2.5th and 97.5th percentiles as the CI endpoints.

The association between SCQ and diagnosis are thus decomposed into

  1. Total effect: assocation between SCQ and diagnosis, without any controlling

  2. Direct effect: association between SCQ and diagnosis, controlling for TSA

  3. Indirect effect: Direct - Total, how SCQ associates with diagnosis through it’s association with TSA

## 
## Causal Mediation Analysis 
## 
## Nonparametric Bootstrap Confidence Intervals with the Percentile Method
## 
##                           Estimate 95% CI Lower 95% CI Upper p-value  
## ACME (control)           -0.000191    -0.001974         0.00   0.802  
## ACME (treated)           -0.000210    -0.002191         0.00   0.802  
## ADE (control)             0.017285     0.004358         0.03   0.024 *
## ADE (treated)             0.017266     0.004382         0.03   0.024 *
## Total Effect              0.017075     0.004127         0.03   0.020 *
## Prop. Mediated (control) -0.011170    -0.150381         0.09   0.814  
## Prop. Mediated (treated) -0.012300    -0.165212         0.09   0.814  
## ACME (average)           -0.000200    -0.002095         0.00   0.802  
## ADE (average)             0.017276     0.004370         0.03   0.024 *
## Prop. Mediated (average) -0.011735    -0.155697         0.09   0.814  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Sample Size Used: 234 
## 
## 
## Simulations: 1000

## 
## Call:
## glm(formula = RiskGroup ~ SCQ_Pro_Score + TSA + Site + AgeMRI + 
##     Cand_Sex, family = binomial(link = "logit"), data = summ_stats_data_long_12m)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.1654  -0.6481  -0.4838  -0.2891   2.7163  
## 
## Coefficients:
##                  Estimate Std. Error z value Pr(>|z|)  
## (Intercept)    -1.082e+01  4.459e+00  -2.428   0.0152 *
## SCQ_Pro_Score   7.587e-02  3.296e-02   2.302   0.0214 *
## TSA             5.461e-05  4.110e-05   1.329   0.1840  
## SiteSEA         1.858e-02  5.533e-01   0.034   0.9732  
## SiteSTL        -1.821e-01  5.365e-01  -0.339   0.7344  
## SiteUNC        -7.679e-04  5.639e-01  -0.001   0.9989  
## AgeMRI          3.294e-01  2.867e-01   1.149   0.2505  
## Cand_SexFemale -1.052e+00  5.129e-01  -2.052   0.0402 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 210.86  on 233  degrees of freedom
## Residual deviance: 189.66  on 226  degrees of freedom
##   (150 observations deleted due to missingness)
## AIC: 205.66
## 
## Number of Fisher Scoring iterations: 5